#include <iostream>
#include <exception>
#include <string>
using std::runtime_error; // 使用标准的runtime_error作为基类

class CustomException : public std::runtime_error {
public:
    int errCode; // 错误码
    std::string errInfo; // 错误描述

    CustomException(int code, const std::string& info)
        : runtime_error(info), errCode(code), errInfo(info) {}
};

void someFunction() {
    // 检查某些条件
    if (1) {
        throw CustomException(1001, "发生了一个错误");
    }
}

int main() {
    try {
        someFunction();
    } catch (const CustomException& e) {
        // 打印错误码和错误描述
        std::cerr << "Error code: " << e.errCode << ", Error info: " << e.errInfo << std::endl;
    }

    return 0;
}

/* 
Error code: 1001, Error info: 发生了一个错误
 
 */